Data replication for backup and recovery purposes can be achieved by creating a shadow copy of one or more storage volumes, e.g., in a production server. Such replication may be done, for example, using Volume Shadow Copy Service (VSS) utility of the Windows™ operating system. A VSS command may be issued to take a volume snapshot periodically such as, for example, every fifteen minutes, to ensure that all existing application transactions are placed on a temporary hold, and all application data and data in a cache memory of a file system are flushed to disk.
A bookmark representing, for example, a point in time when the snapshot or shadow copy is generated may be beneficial, as the bookmark may represent a consistent state of the protected data when the snapshot was taken, e.g., a state of protected data to which users can rewind back for data recovery. For instance, data can be restored to a point in time indicated by the bookmark at which the data is application consistent, i.e., the restored data is equal to those of the snapshots at that time point. Moreover, such bookmark may indicate a transition phase used to distinguish between two phases of data backup process, i.e., initial synchronization phase and replication phase.
However, it may be difficult to record an accurate point in time, and thus generate an associated bookmark, when a consistent state for a snapshot is achieved. For example, conventionally, a pseudo software provider may be given higher priority as compared to a system provider and may be selected by a shadow copy process for generation of a snapshot of storage volumes at the production server and capturing the point in time of the snapshot. However, pseudo software providers are known to respond to commit snapshot events of a replication service, e.g., VSS, in specific snapshot-generation cases where the snapshot may merely indicate directory structure and attributes of data items in the storage volumes, and not necessarily actual data in the storage volumes. Accordingly, because a pseudo software provider may not generate snapshots capturing actual data, the snapshots generated by the pseudo software provider may not represent a consistent state of captured data. In some embodiments, where only one application, e.g., ArcServer RHA utilizes VSS, the pseudo software provider may be used to generate consistency bookmarks for other applications, e.g., SharePoint, Hyper-V, etc., that may be used for data recovery. However, in cases where more than one application utilize VSS, those applications may also warrant the use of pseudo software provider as the VSS provider, which, as discussed above, does not capture actual data in the snapshots. Therefore, in scenarios where the pseudo software provider is selected for VSS by multiple applications, a point in time (or bookmark) corresponding to consistent backup data may not be generated. Moreover, a pseudo software provider may not be used for periodic data replication scenarios, where snapshots including actual data beside the consistency bookmarks need to be generated.
Thus, it is desirable to develop and provide an improved technique for generating a consistency bookmark in the shadow copy or snapshot generation process, while minimizing any modification to the shadow copy process, or without slowing down, or otherwise negatively impacting the replication process.